package com.graduation.springbootinit.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.graduation.springbootinit.model.entity.ActivityPart.OutfitWork;

import java.util.List;

public interface OutfitWorkService extends IService<OutfitWork> {
    
    /**
     * 提交作品
     */
    void submitWork(OutfitWork work);
    
    /**
     * 获取挑战的作品列表
     */
    Page<OutfitWork> getWorksByChallenge(Long challengeId, int pageNum, int pageSize);
    
    /**
     * 获取用户的作品列表
     */
    List<OutfitWork> getWorksByUser(Long userId);
    
    /**
     * 点赞作品
     */
    void likeWork(Long workId, Long userId);
    
    /**
     * 获取挑战的前三名作品
     */
    List<OutfitWork> getTopThreeWorks(Long challengeId);
    
    /**
     * 检查用户是否已点赞
     */
    boolean hasUserLiked(Long workId, Long userId);
    
    /**
     * 取消点赞
     */
    void unlikeWork(Long workId, Long userId);

    /**
     * 根据作品ID获取作品详情
     */
    OutfitWork getWorkById(Long workId);
} 